<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>create_message [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_system.html">系统</a> / <a href="toc_system_multithreading.html">Multithreading</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">create_message</span><span data-if="c" style="display:none;">T_create_message</span><span data-if="cpp" style="display:none;">CreateMessage</span><span data-if="dotnet" style="display:none;">CreateMessage</span><span data-if="python" style="display:none;">create_message</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">create_message</span><span data-if="c" style="display:none;">T_create_message</span><span data-if="cpp" style="display:none;">CreateMessage</span><span data-if="dotnet" style="display:none;">CreateMessage</span><span data-if="python" style="display:none;">create_message</span></code> — Create a new empty message.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>create_message</b>( :  :  : <a href="#MessageHandle"><i>MessageHandle</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_create_message</b>(Htuple* <a href="#MessageHandle"><i>MessageHandle</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>CreateMessage</b>(HTuple* <a href="#MessageHandle"><i>MessageHandle</i></a>)</code></p>
<p>
<code>void <a href="HMessage.html">HMessage</a>::<b>HMessage</b>()</code></p>
<p>
<code>void <a href="HMessage.html">HMessage</a>::<b>CreateMessage</b>()</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>CreateMessage</b>(out <a href="HTuple.html">HTuple</a> <a href="#MessageHandle"><i>messageHandle</i></a>)</code></p>
<p>
<code>public <a href="HMessage.html">HMessage</a>()</code></p>
<p>
<code>void <a href="HMessage.html">HMessage</a>.<b>CreateMessage</b>()</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>create_message</b>() -&gt; HHandle</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">create_message</span><span data-if="c" style="display:none">create_message</span><span data-if="cpp" style="display:none">CreateMessage</span><span data-if="com" style="display:none">CreateMessage</span><span data-if="dotnet" style="display:none">CreateMessage</span><span data-if="python" style="display:none">create_message</span></code> creates a new empty message. The output parameter
<a href="#MessageHandle"><i><code><span data-if="hdevelop" style="display:inline">MessageHandle</span><span data-if="c" style="display:none">MessageHandle</span><span data-if="cpp" style="display:none">MessageHandle</span><span data-if="com" style="display:none">MessageHandle</span><span data-if="dotnet" style="display:none">messageHandle</span><span data-if="python" style="display:none">message_handle</span></code></i></a> is a handle to the newly created message
and is used to identify the message in any subsequent operator
call using the message.
</p>
<p>The message serves as a dictionary-like container that can be passed
between the threads of an application using asynchronous message queues.
Alternatively, HALCON also provides dictionaries (<a href="create_dict.html"><code><span data-if="hdevelop" style="display:inline">create_dict</span><span data-if="c" style="display:none">create_dict</span><span data-if="cpp" style="display:none">CreateDict</span><span data-if="com" style="display:none">CreateDict</span><span data-if="dotnet" style="display:none">CreateDict</span><span data-if="python" style="display:none">create_dict</span></code></a>) to
group parameters in programs and procedures.
</p>
<p>Messages can store an arbitrary number of entries, each having its unique
key (string or integer) and associated value.  Each key can refer either to
a control parameter tuple or to an iconic object.  These data are stored to
the message using <a href="set_message_tuple.html"><code><span data-if="hdevelop" style="display:inline">set_message_tuple</span><span data-if="c" style="display:none">set_message_tuple</span><span data-if="cpp" style="display:none">SetMessageTuple</span><span data-if="com" style="display:none">SetMessageTuple</span><span data-if="dotnet" style="display:none">SetMessageTuple</span><span data-if="python" style="display:none">set_message_tuple</span></code></a> or <a href="set_message_obj.html"><code><span data-if="hdevelop" style="display:inline">set_message_obj</span><span data-if="c" style="display:none">set_message_obj</span><span data-if="cpp" style="display:none">SetMessageObj</span><span data-if="com" style="display:none">SetMessageObj</span><span data-if="dotnet" style="display:none">SetMessageObj</span><span data-if="python" style="display:none">set_message_obj</span></code></a>,
respectively, from where they can be retrieved again using
<a href="get_message_tuple.html"><code><span data-if="hdevelop" style="display:inline">get_message_tuple</span><span data-if="c" style="display:none">get_message_tuple</span><span data-if="cpp" style="display:none">GetMessageTuple</span><span data-if="com" style="display:none">GetMessageTuple</span><span data-if="dotnet" style="display:none">GetMessageTuple</span><span data-if="python" style="display:none">get_message_tuple</span></code></a> or <a href="get_message_obj.html"><code><span data-if="hdevelop" style="display:inline">get_message_obj</span><span data-if="c" style="display:none">get_message_obj</span><span data-if="cpp" style="display:none">GetMessageObj</span><span data-if="com" style="display:none">GetMessageObj</span><span data-if="dotnet" style="display:none">GetMessageObj</span><span data-if="python" style="display:none">get_message_obj</span></code></a>.
</p>
<p>The control parameter tuples stored in the message are always deep copies
of the original data. The original data can thus be reused immediately
after the <a href="set_message_tuple.html"><code><span data-if="hdevelop" style="display:inline">set_message_tuple</span><span data-if="c" style="display:none">set_message_tuple</span><span data-if="cpp" style="display:none">SetMessageTuple</span><span data-if="com" style="display:none">SetMessageTuple</span><span data-if="dotnet" style="display:none">SetMessageTuple</span><span data-if="python" style="display:none">set_message_tuple</span></code></a> call without affecting the message.
Notable exceptions are handles: Storing any handle in the message
will copy the handle value, but not the resource behind the handle.
</p>
<p>As mentioned above, the messages can be passed between the threads of an
application using asynchronous message queues.
The data can be appended to the queue by multiple producer threads
using <a href="enqueue_message.html"><code><span data-if="hdevelop" style="display:inline">enqueue_message</span><span data-if="c" style="display:none">enqueue_message</span><span data-if="cpp" style="display:none">EnqueueMessage</span><span data-if="com" style="display:none">EnqueueMessage</span><span data-if="dotnet" style="display:none">EnqueueMessage</span><span data-if="python" style="display:none">enqueue_message</span></code></a> and retrieved from the queue
by multiple receiver threads using <a href="dequeue_message.html"><code><span data-if="hdevelop" style="display:inline">dequeue_message</span><span data-if="c" style="display:none">dequeue_message</span><span data-if="cpp" style="display:none">DequeueMessage</span><span data-if="com" style="display:none">DequeueMessage</span><span data-if="dotnet" style="display:none">DequeueMessage</span><span data-if="python" style="display:none">dequeue_message</span></code></a>.
All these operations are internally properly synchronized.
Therefore, the queue can be safely accessed by all producers
and consumers without any explicit locking.
All the enqueued messages are copied by the
<a href="enqueue_message.html"><code><span data-if="hdevelop" style="display:inline">enqueue_message</span><span data-if="c" style="display:none">enqueue_message</span><span data-if="cpp" style="display:none">EnqueueMessage</span><span data-if="com" style="display:none">EnqueueMessage</span><span data-if="dotnet" style="display:none">EnqueueMessage</span><span data-if="python" style="display:none">enqueue_message</span></code></a> operation. The original message(s) can thus be
immediately reused after the <a href="enqueue_message.html"><code><span data-if="hdevelop" style="display:inline">enqueue_message</span><span data-if="c" style="display:none">enqueue_message</span><span data-if="cpp" style="display:none">EnqueueMessage</span><span data-if="com" style="display:none">EnqueueMessage</span><span data-if="dotnet" style="display:none">EnqueueMessage</span><span data-if="python" style="display:none">enqueue_message</span></code></a> call without affecting
the enqueued copy.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="MessageHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">MessageHandle</span><span data-if="c" style="display:none">MessageHandle</span><span data-if="cpp" style="display:none">MessageHandle</span><span data-if="com" style="display:none">MessageHandle</span><span data-if="dotnet" style="display:none">messageHandle</span><span data-if="python" style="display:none">message_handle</span></code></b> (output_control)  </span><span>message <code>→</code> <span data-if="dotnet" style="display:none"><a href="HMessage.html">HMessage</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the newly created message.</p>
<p class="pardesc"><span class="parcat">Number of elements:
      </span>MessageHandle == 1</p>
<p class="pardesc"><span class="parcat">Assertion:
      </span><code>MessageHandle != 0</code></p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
MessageHandles := []
for idx := 0 to 4 by 1
  create_message (MessageHandle)
  MessageHandles[idx]:= MessageHandle
endfor
* ...
</pre>
<h2 id="sec_result">结果</h2>
<p>Returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     unless a resource allocation error occurs.</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="set_message_tuple.html"><span data-if="hdevelop" style="display:inline">set_message_tuple</span><span data-if="c" style="display:none">set_message_tuple</span><span data-if="cpp" style="display:none">SetMessageTuple</span><span data-if="com" style="display:none">SetMessageTuple</span><span data-if="dotnet" style="display:none">SetMessageTuple</span><span data-if="python" style="display:none">set_message_tuple</span></a></code>, 
<code><a href="set_message_obj.html"><span data-if="hdevelop" style="display:inline">set_message_obj</span><span data-if="c" style="display:none">set_message_obj</span><span data-if="cpp" style="display:none">SetMessageObj</span><span data-if="com" style="display:none">SetMessageObj</span><span data-if="dotnet" style="display:none">SetMessageObj</span><span data-if="python" style="display:none">set_message_obj</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="create_dict.html"><span data-if="hdevelop" style="display:inline">create_dict</span><span data-if="c" style="display:none">create_dict</span><span data-if="cpp" style="display:none">CreateDict</span><span data-if="com" style="display:none">CreateDict</span><span data-if="dotnet" style="display:none">CreateDict</span><span data-if="python" style="display:none">create_dict</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="clear_message.html"><span data-if="hdevelop" style="display:inline">clear_message</span><span data-if="c" style="display:none">clear_message</span><span data-if="cpp" style="display:none">ClearMessage</span><span data-if="com" style="display:none">ClearMessage</span><span data-if="dotnet" style="display:none">ClearMessage</span><span data-if="python" style="display:none">clear_message</span></a></code>, 
<code><a href="set_message_tuple.html"><span data-if="hdevelop" style="display:inline">set_message_tuple</span><span data-if="c" style="display:none">set_message_tuple</span><span data-if="cpp" style="display:none">SetMessageTuple</span><span data-if="com" style="display:none">SetMessageTuple</span><span data-if="dotnet" style="display:none">SetMessageTuple</span><span data-if="python" style="display:none">set_message_tuple</span></a></code>, 
<code><a href="get_message_tuple.html"><span data-if="hdevelop" style="display:inline">get_message_tuple</span><span data-if="c" style="display:none">get_message_tuple</span><span data-if="cpp" style="display:none">GetMessageTuple</span><span data-if="com" style="display:none">GetMessageTuple</span><span data-if="dotnet" style="display:none">GetMessageTuple</span><span data-if="python" style="display:none">get_message_tuple</span></a></code>, 
<code><a href="set_message_obj.html"><span data-if="hdevelop" style="display:inline">set_message_obj</span><span data-if="c" style="display:none">set_message_obj</span><span data-if="cpp" style="display:none">SetMessageObj</span><span data-if="com" style="display:none">SetMessageObj</span><span data-if="dotnet" style="display:none">SetMessageObj</span><span data-if="python" style="display:none">set_message_obj</span></a></code>, 
<code><a href="get_message_obj.html"><span data-if="hdevelop" style="display:inline">get_message_obj</span><span data-if="c" style="display:none">get_message_obj</span><span data-if="cpp" style="display:none">GetMessageObj</span><span data-if="com" style="display:none">GetMessageObj</span><span data-if="dotnet" style="display:none">GetMessageObj</span><span data-if="python" style="display:none">get_message_obj</span></a></code>, 
<code><a href="set_message_param.html"><span data-if="hdevelop" style="display:inline">set_message_param</span><span data-if="c" style="display:none">set_message_param</span><span data-if="cpp" style="display:none">SetMessageParam</span><span data-if="com" style="display:none">SetMessageParam</span><span data-if="dotnet" style="display:none">SetMessageParam</span><span data-if="python" style="display:none">set_message_param</span></a></code>, 
<code><a href="get_message_param.html"><span data-if="hdevelop" style="display:inline">get_message_param</span><span data-if="c" style="display:none">get_message_param</span><span data-if="cpp" style="display:none">GetMessageParam</span><span data-if="com" style="display:none">GetMessageParam</span><span data-if="dotnet" style="display:none">GetMessageParam</span><span data-if="python" style="display:none">get_message_param</span></a></code>, 
<code><a href="enqueue_message.html"><span data-if="hdevelop" style="display:inline">enqueue_message</span><span data-if="c" style="display:none">enqueue_message</span><span data-if="cpp" style="display:none">EnqueueMessage</span><span data-if="com" style="display:none">EnqueueMessage</span><span data-if="dotnet" style="display:none">EnqueueMessage</span><span data-if="python" style="display:none">enqueue_message</span></a></code>, 
<code><a href="dequeue_message.html"><span data-if="hdevelop" style="display:inline">dequeue_message</span><span data-if="c" style="display:none">dequeue_message</span><span data-if="cpp" style="display:none">DequeueMessage</span><span data-if="com" style="display:none">DequeueMessage</span><span data-if="dotnet" style="display:none">DequeueMessage</span><span data-if="python" style="display:none">dequeue_message</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
